package com.whmall.service.crm.module.supplierchemical.service;

import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.supplierchemical.SupplierChemicalRemarkRecordImportantFieldsRspDTO;
import com.whmall.service.crm.entity.dto.supplierchemical.SupplierChemicalRemarkRecordReqDTO;
import com.whmall.service.crm.entity.dto.supplierchemical.SupplierChemicalRemarkRecordRspDTO;

import java.util.List;
import java.util.Map;

public interface SupplierChemicalRemarkRecordService {

    /**
     * 查询用户下某化合物的最新记录
     * @param chemicalId
     * @param companyIds
     * @return key-公司ID，value-最新记录
     */
    Map<Long, SupplierChemicalRemarkRecordImportantFieldsRspDTO> queryLatest(Long chemicalId, List<Long> companyIds);

    /**
     * 查询用户下多个化合物的最新记录
     * @param chemicalIds
     * @param companyIds
     * @return key-公司ID，value-最新记录
     */
    List<SupplierChemicalRemarkRecordImportantFieldsRspDTO> queryLatest(List<Long> chemicalIds, List<Long> companyIds);

    /**
     * 查询化合物的备注记录
     *
     * @param chemicalId
     * @return
     */
    PageRspDTO<SupplierChemicalRemarkRecordRspDTO> queryByChemicalId(Long chemicalId, PageReqDTO pageReqDTO);

    /**
     * 新增化合物的备注记录
     *
     * @param reqDTO
     * @return
     */
    void add(SupplierChemicalRemarkRecordReqDTO reqDTO);

}
